﻿using System;
using System.ComponentModel;
using PetaPoco;
using PmSoft;
using PmSoft.Caching;

namespace Modules.BankSpecialAccount.Entitys
{
    /// <summary>
    /// 专户代发批次表
    ///</summary>
    [TableName("project_special_account_batch")]
    [Description("工资专户代发工资批次")]
    [PrimaryKey("Id", AutoIncrement = true)]
    [CacheSetting(true)]
    [Serializable]
    public class BankSpecialAccountBatchInfo : IEntity
    {
        /// <summary>
        ///
        ///</summary>
        [Column("id")]
        public int Id { get; set; }

        [Column("project_id")]
        public int ProjectId { get; set; }

        /// <summary>
        /// 专户账号
        ///</summary>
        [Column("bank_account")]
        public string BankAccount { get; set; }

        /// <summary>
        /// 代发批次号
        ///</summary>
        [Column("batch_serial")]
        public string BatchSerial { get; set; }

        /// <summary>
        /// 计划数
        ///</summary>
        [Column("plan_count")]
        public int PlanCount { get; set; }

        /// <summary>
        /// 计划金额
        ///</summary>
        [Column("plan_amount")]
        public decimal PlanAmount { get; set; }

        /// <summary>
        /// 实发数
        ///</summary>
        [Column("real_count")]
        public int RealCount { get; set; }

        /// <summary>
        /// 实发金额
        ///</summary>
        [Column("real_amount")]
        public decimal RealAmount { get; set; }

        /// <summary>
        /// 提交日期
        ///</summary>
        [Column("submit_date")]
        public DateTime? SubmitDate { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        [Column("create_time")]
        public DateTime? CreateTime { get; set; }

        #region IEntity 成员

        [Ignore]
        object IEntity.EntityId { get { return Id; } }

        #endregion IEntity 成员
    }
}